﻿using Sidvall.Collections;

namespace Sidvall.WorkItemManager.UI.Entities.Model
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
    public partial class EntityCache : Sidvall.UI.Entities.EntityCacheBase
    {
        #region Public Members

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkConditionCollection WorkConditionCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkerCollection WorkerCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemCollection WorkItemCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemLogCollection WorkItemLogCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemSensorCollection WorkItemSensorCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemSensorLogCollection WorkItemSensorLogCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemTypeCollection WorkItemTypeCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemWorkConditionCollection WorkItemWorkConditionCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkRetryPolicyCollection WorkRetryPolicyCache { get; set; }
        
        #region Clear

        public void Clear()
        {
            this.WorkConditionCache = null;
            this.WorkerCache = null;
            this.WorkItemCache = null;
            this.WorkItemLogCache = null;
            this.WorkItemSensorCache = null;
            this.WorkItemSensorLogCache = null;
            this.WorkItemTypeCache = null;
            this.WorkItemWorkConditionCache = null;
            this.WorkRetryPolicyCache = null;
        }

        #endregion
        
        #endregion
        #region Constructors

        public EntityCache()
        {
        }

        #endregion
    }
}